package com.ruoyi.system.service;

import java.util.ArrayList;
import java.util.List;

import com.ruoyi.system.domain.Echarts;
import com.ruoyi.system.domain.StuCertificate;
import com.ruoyi.system.domain.StuDataCer;
import com.ruoyi.system.domain.StuDataCerState;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 学生信息和证书关联表Service接口
 * 
 * @author ruoyi
 * @date 2024-03-11
 */
public interface IStuDataCerService 
{
    /**
     * 查询学生信息和证书关联表
     * 
     * @param studataCerId 学生信息和证书关联表主键
     * @return 学生信息和证书关联表
     */
    public StuDataCer selectStuDataCerByStudataCerId(Long studataCerId);

    /**
     * 查询学生信息和证书关联表列表
     * 
     * @param stuDataCer 学生信息和证书关联表
     * @return 学生信息和证书关联表集合
     */
    public List<StuDataCer> selectStuDataCerList(StuDataCer stuDataCer);

    /**
     * 新增学生信息和证书关联表
     * 
     * @param stuDataCer 学生信息和证书关联表
     * @return 结果
     */
    public int insertStuDataCer(StuDataCer stuDataCer);

    /**
     * 修改学生信息和证书关联表
     * 
     * @param stuDataCer 学生信息和证书关联表
     * @return 结果
     */
    public int updateStuDataCer(StuDataCer stuDataCer);

    /**
     * 批量删除学生信息和证书关联表
     * 
     * @param studataCerIds 需要删除的学生信息和证书关联表主键集合
     * @return 结果
     */
    public int deleteStuDataCerByStudataCerIds(String studataCerIds);

    /**
     * 删除学生信息和证书关联表信息
     * 
     * @param studataCerId 学生信息和证书关联表主键
     * @return 结果
     */
    public int deleteStuDataCerByStudataCerId(Long studataCerId);

    int changeIspublic(StuDataCer stuDataCer);

    int reviewByStudataCerIds(String ids);

    void downloadFiles(String studataCerIds, HttpServletRequest request, HttpServletResponse response);

    int insertStuDataCerState(StuDataCerState stuDataCerState);

    int deleteStuDataCerByStuIds(String ids);
    int deleteStuDataCerByCerIds(String ids);

    ArrayList<Echarts> reviewStataCount(StuDataCer stuDataCer);
}
